                Wycig dokumentacji programu LZEXE 
                           Marek Sell

Ten program naley do Public Domain (FREEWARE) i dlatego moesz go
uywa, kopiowa i rozpowszechnia bezpatnie.  Moesz uywa go
rwnie w celach komercyjnych, to znaczy moesz nim kompresowa
programy, ktre zamierzasz sprzedawa.  Natomiast sprzeda programu
LZEXE jest zabroniona.

Wymagania:   Komputer typu PC lub kompatybilny.  Zalecany jest
procesor 80286 lub 80386 dla szybszej pracy.  Minimalna wielko
pamici do uruchomienia programu wynosi 128 KB.

1. Wstp
--------

Program LZEXE kompresuje zbiory typu EXE, innymi sowy zbiory
wykonywalne.   Napewno wiesz, e istniej inne programy kompresujce
zbiory, na przykad PKZIP lub LHARC.  Unikalno metody zastosowanej
w programie LZEXE polega na tym, e skompresowane zbiory mog by
bezporednio uruchamiane.   Dla prawie wszystkich zbiorw EXE czas
dekompresji jest tak krtki, e moe by pominity.  Przy tym,
dekompresja nie wymaga dodatkowego obszaru dysku czy pamici.
Po prostu uywany jest obszar pamici normalnie przydzielony
nieskompresowanemu programowi.  Algorytm kompresji zosta
zoptymalizowany nie tylko pod ktem szybkoci dziaania, lecz rwnie
pod ktem skutecznoci kompresji - zbiory EXE kompresowane s
nieomale do wielkoci uzyskiwanej przez ich zZIP'owanych kolegw.

2. Uycie LZEXE
---------------

Uycie programu jest bardzo proste; po prostu wprowad

                LZEXE nazwa zbioru

gdzie nazwa zbioru okrela zbir EXE, ktry chcemy skompresowa.
Rozszerzenie EXE jest przyjmowane domylnie, a podanie katalogw
niekonieczne.   W wypadku wystpienia okreli miejsce, gdzie zostanie
utworzony zbir wynikowy i zbir roboczy LZTMP.EXE.

UWAGA: Niektre zbiory s zbiorami EXE wycznie z nazwy.  Dla DOS'a
typ zbioru nie okrela rozszerzenie jego nazwy, lecz obecno w wntrzu
zbioru nagwka zaczynajcwego si od liter 'MZ', za ktrymi
nastpuje informacja o dugoci zbioru, niezbdnej do pracy wielkoci
pamici itd.  Dlatego nawet jeli zmienisz rozszerzenie nazwy zbioru z
COM na EXE, LZEXE odmwi przetworzenia takiego zbioru.

Istnieje jednak metoda zmuszajca LZEXE do zaakceptowania zbioru typu
COM:  po prostu uyj programu COMTOEXE tego samego autora.  Pracuje
on analogicznie jak EXE2BIN, lecz w odwrotn stron.

Dla wikszego bezpieczestwa LZEXE nie usuwa oryginalnego zbioru EXE,
lecz przemianowuje rozszerzenie jego nazwy na OLD.  Dodatkowo, tworzy
zbir roboczy LZEXE.TMP, ktrego nazw zmienia na wynikow jedynie
w wypadku poprawnego zakoczenia procesu kompresji.

3. Uwagi odnonie uycia
------------------------

Niektre programy nie daj si skompresowa z rnych przyczyn:

- Zbir nie jest zbiorem typu EXE.
  Rozwizanie: uyj COMTOEXE.EXE.
- Tablica relokacji jest zbyt dua.
  Aby to zrozumie, musisz pozna wewntrzn struktur zbioru EXE.
  Taki program moe by podzielony na szereg segmentw (inaczej ni
  programy COM).  Dlatego potrzebuje on tablicy okrelajcej jak
  wykona skok do innego segmentu, lub jak wywoa zawart tam
  procedur itp.  Gdy program jest bardzo duy, moe zaskoczy
  kompresor.  We wntrzu LZEXE znajduje si tablica zdolna pomieci
  16000 adresw relokacji.  Powinno to wystarczy w wypadku prawie
  wszystkich zbiorw EXE.
- Zbir, ktry chcesz skompresowa jest ju skompresowany za pomoc
  programu LZEXE.  Zauwa te, e istniej inne kompresory. 
  Microsoft'owy EXEPACK.EXE jest jednak znacznie mniej efektywny od
  LZEXE.  LZEXE moe lepiej skompresowa zbiory cinite EXEPACK'iem,
  jeeli wczeniej uyjesz programu UNPACKEXE do odwrcenia tego,
  czego dokona EXEPACK.
- Czasami oszczdnoci miejsca w wypadku kompresji s nieznaczne. 
  Dzieje si tak najczciej w wypadku bardzo maych zbiorw
  (mniejszych od 2KB).  Normalnie wspczynnik kompresji jest znaczny.

- Teraz powaniejszy problem: niektre skompresowane zbiory EXE mog
  zawiesza system.

  - Jeeli program komntroluje swoj wielko (jak na przykad Turbo
    Debugger).
  - Jeeli program kontroluje integralno swej kopii na dysku.
  - Gdy uywa on nakadek wewntrznych, ktre s adowane z dysku
    pniej  (Dlatego musz zajmowa cile okrelon pozycj w
    zbiorze).  LZEXE ostrzee Ciebie w wypadku obecnoci takich
    nakadek.
  - Programy wymagajce WINDOWS'w.  Te programy nie s naprawd
    programami typu EXE i nie bd poprawnie dziaay, jeeli zostan
    skompresowane za pomoc LZEXE.
  - Powysza lista moe jeszcze urosn, gdy autor nie przeprowadzi
    eksperymentw ze wszystkimi rodzajami zbiorw EXE.

- Mniej powany problem: niektre programy uywaj opcji
  konfigurujcych, ktrych zmiana modyfikuje kod programu (na
  przykad Turbo Pascal).   W takich przypadkach najpierw skonfiguruj
  program, a nastpnie skompresuj go. (Zachowaj sobie dla
  bezpieczestwa nieskompresowan kopi).
